package com.juzi.wopu.service;

import java.io.File;
import java.util.List;

import com.juzi.wopu.query.BaseQuery;
import com.juzi.wopu.query.PageList;

/**
 * 父类接口（泛型）
 */
public interface IBaseService<T> {

	/**
	 * 保存
	 * @param t
	 */
	void save(T t);
	
	/**
	 * 修改
	 * @param t
	 */
	void update(T t);
	 
	/**
	 * 根据id删除对应的对象
	 * @param id
	 */
	void delete(Long id);
	
	/**
	 * 根据id获取一个对象
	 * @param id
	 * @return
	 */
	T get(Long id);
	 
	/**
	 * 获取所有的
	 * @return
	 */
	List<T> getAll();
	
	/**
	 * 高级查询和分页
	 * @param baseQuery
	 * @return
	 */
    PageList findByQuery(BaseQuery baseQuery);
    
    /**
     * 导入
     * @param upload
     * @return
     * @throws Exception
     */
    List<String[]> importExcls(File upload) throws Exception;
}